package edu.gatech.oad.antlab.person;

/**
 *  A simple class for person 1
 *  returns their name and a
 *  modified string 
 *  
 *  @author Bob
 *  @version 1.1
 */
public class Person1 {
  /** Holds the persons real name */
  private String name;
  	/**
	 * The constructor, takes in the persons
	 * name
	 * @param pname the person's real name
	 */
  public Person1(String pname) {
    name = pname;
  }

  	/**
	 * This method should take the string
	 * input and return its characters rotated
	 * 2 positions.
	 * given "gtg123b" it should return
	 * "g123bgt".
	 *
	 * @param input the string to be modified
	 * @return the modified string
	 */
  
 
	private String calc(String input) 
	{
		
		String temp="";
		int index=2;
		//Null test case
		if(input==null)
		{
			return null;
		}
		for(int i=0; i<input.length(); i++)
		{
			//Special case if the string length is <=2, just return the string
			if(input.length()<=2)
			{
				return input;
			}
			//concat to temp string starting at the third char of the input string
			temp+=input.charAt(index);
			index++;
			//Once we get to the end of the input string, start at the beginning to add the first chars of input to the end of temp
			if(index==input.length())
			{
				index=0;
			}
		}
		return temp;
	}
	
	/**
	 * Return a string rep of this object
	 * that varies with an input string
	 *
	 * @param input the varying string
	 * @return the string representing the 
	 *         object
	 */
	public String toString(String input) {
	  return name + calc(input);
	}

}


